import math

def add(a,b):
    return a+b
def sub(a,b):
    return a-b
def mul(a,b):
    return a*b
def div(a,b):
    return a/b
def pow(a,b):
    return a**b
def rem(a,b):
    return a%b

flag=True
while flag:
    choice=int(input('请选择实数（1） 复数（2）'))
    if choice==1:
        a=float(input('数字一:'))
        b=float(input('数字二:'))
        c=input('输入运算符(+ - * / ** % log):')
        if c=='+':
            print(a,c,b,'=',add(a,b))
        elif c=='-':
            print(a,c,b,'=',sub(a,b))
        elif c=='*':
            print(a,c,b,'=',mul(a,b))
        elif c=='/':
            print(a,c,b,'=',div(a,b))
        elif c=='**':
            print(a,c,b,'=',pow(a,b))
        elif c=='%':
            print(a,c,b,'=',rem(a,b))
        elif c=='log':
            print(f'以{a}为底{b}的对数为:{math.log(b,a)}')
    elif choice==2:
        a=complex(input('数字一:'))
        b=complex(input('数字二:'))
        c = input('输入运算符(+ - * /):')
        if c=='+':
            print(a,c,b,'=',a+b)
        elif c=='-':
            print(a,c,b,'=',a-b)
        elif c=='*':
            print(a,c,b,'=',a*b)
        elif c=='/':
            print(a,c,b,'=',a/b)
    if input('请选择是否继续(Y/N):')=='Y':
        flag=True
    else:
        flag=False
